1. Field of the Invention
The field of the invention relates to data processing and in particular to the processing of speculative transaction requests.
2. Description of the Prior Art
It is known in the prior art to generate speculative transaction requests to improve the performance of a system. For example, there may be branch prediction logic associated with a processor which predicts which way a branch in an instruction stream may go and performs the prefetching of instructions and/or the loading of required data into the cache for the predicted branch before the branch has actually been taken. Thus, if the prediction is correct, the time needed to perform the instructions within the branch is significantly reduced, whereas if the prediction is not correct then the preloaded instructions and data are not required and the power and resources used to perform these “speculative” steps have in effect been wasted.
Performing speculative transactions can significantly increase the performance of a system, however, they can also cause additional loading to that system and may also increase power consumption.
In some processors such as Cortex-R4 developed by ARM® (of Cambridge UK) it is known for a master that generates a speculative read to drop this read, i.e. not send the request, if it decides that the bus it is to use is busy or the memory too slow. It can only judge the activity of the system from its own transaction requests, it knows nothing of the activity of other masters in the system.
It would be advantageous to be able to control the processing of speculative requests such that they can be performed where an increase in performance can be achieved and is desirable, but can be avoided where additional processing is not desirable.